// 这里存放测试游戏时使用的代码
#define _CRT_SECURE_NO_WARNINGS 1
#include"game.h"

void game()
{
	// 创建存储用的棋盘，因为导入了头文件中的ROW和COL，就可以后期变更棋盘大小
	char board[ROW][COL];
	// 初始化棋盘
	InitBoard(board, ROW, COL);
	// 打印棋盘
	DisplayBoard(board, ROW, COL);
	char ret = 'C'; // 用来存储结果的变量，只有四种情况
	while (1)
	{
		// 玩家下棋
		PlayerMove(board, ROW, COL);
		DisplayBoard(board, ROW, COL);
		// 判断玩家是否赢得游戏
		ret = IsWin(board, ROW, COL);
		if (ret != 'C')
		{
			break;
		}
		// 电脑下棋
		ComputerMove(board, ROW, COL);
		DisplayBoard(board, ROW, COL);
		// 判断电脑是否赢得游戏
		ret = IsWin(board, ROW, COL);
		if (ret != 'C')
		{
			break;
		}
	}
	if (ret == '*')
	{
		printf("玩家获胜\n");
	}
	else if (ret == '#')
	{
		printf("电脑获胜\n");
	}
	else
	{
		printf("平局\n");
	}
}

void menu()
{
	printf("---------------------------------\n");
	printf("------      1.三子棋      -------\n");
	printf("------      0.不玩了      -------\n");
	printf("---------------------------------\n");
}

int main()
{
	srand((unsigned int)time(NULL));
	int input = 0;
	do
	{
		menu();
		printf("请选择：>");
		scanf("%d", &input);
		switch (input)
		{
			case 1:
				printf("玩三子棋\n");
				game();
				break;
			case 0:
				printf("不响丸辣\n");
				break;
			default:
				printf("输入错误\n");
				break;
		}
	} while (input);
	return 0;
}